Skip to content

feat(ship): make test and eval commands configurable via .gstack.json#49

Open
Ty-Robb wants to merge 1 commit intogarrytan:mainfrom
Ty-Robb:feat/config-driven-ship
Open

feat(ship): make test and eval commands configurable via .gstack.json#49
Ty-Robb wants to merge 1 commit intogarrytan:mainfrom
Ty-Robb:feat/config-driven-ship

Conversation

@Ty-Robb
Copy link

@Ty-Robb Ty-Robb commented Mar 14, 2026

Summary

  • Added testCommand and evalCommand configuration options via a new .gstack.json file.
  • Created a .gstack.example.json schema template for new users.
  • Updated ship/SKILL.md to parse custom commands from the config file.
  • Maintained full backwards compatibility: if no config is found, falls back safely to Rails bin/test-lane and Vitest defaults.

Motivation

This is the first step toward making gstack stack-agnostic (Portability Phase 1). By decoupling the /ship test runners from Rails-only defaults, developers can now use gstack in Node, Go, Rust, or Python environments simply by dropping a .gstack.json in their root.

Test plan

  • Verified ship/SKILL.md bash logic correctly falls back when .gstack.json is missing.
  • Verified customized commands correctly replace the <suite> placeholders for evals.

🤖 Authored via Spec-Driven Development

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant